package LinkedList和HashSet和HashMap.work01;
import java.util.LinkedList;
/**
 * 使用LinkedList模拟一个堆栈（MyStack）数据结构,写一个 MyStack 类，表示“栈”这种数据结构
 * 栈的基本操作：
 * 1） push(Object o)：表示把元素放入栈
 * 2） Object pop()：返回栈顶元素，并把该元素从栈中删除。如果栈为空，则返回 null 值
 * 3） Object peek()：返回栈顶元素，但不把该元素删除。如果栈为空，则返回 null 值。
 * 4） boolean isEmpty()：判断该栈是否为空
 * 5） int size()：返回该栈中元素的数量
 */
public class MyStack {
    static LinkedList<MyStack> myStacks = new LinkedList<>();
    public static void push(MyStack myStack){
        myStack.push(myStack);
    }
    public static MyStack pop(){
        if (myStacks == null){
            return null;
        }
        else {
            return myStacks.pop();
        }
    }
    public static MyStack peek(){
        if (myStacks == null){
            return null;
        }
        else {
            return myStacks.pop();
        }
    }
    public static boolean isEmpty(){
        if (myStacks.isEmpty()){
            return true;
        }
        else {
            return false;
        }
    }

    public static int size(){
        return myStacks.size();
    }
}
